Saturday, August 31, 2019

Business ethic reflective essay Essay

It was probably in 2010, I was an agent in an assurance company. My duties was managing and servicing our organization’s existing corporate client portfolio that has been assigned to me. One of our company product called Saving Plan what pay an amount of money monthly or yearly up to 6 years, the annual will received 6% interest and consumer can take their money back after they complete the 6 years payment. As we know, every product might have some weaknesses while it benefits us. It is commonly that company or sales man will try to minimize the weakness of product while they promote it. But what I did wrong was that I did never mention the product weakness to customer that they will only get the best return (interest) after 25 years when they completed payment for 6 years saving plan, what I thought the saving plan as a force to consumer get use to save money and whoever buy the saving plan they will always get their money back at the end if they complete the payment. My conc ern was close cases at that time. In fact, It was kind of ethic problem when I promoted products but did not let customers understand all about it. Once I heard complain from customer I felt so guilty of myself that I had hidden from my customers. I felt shame to face my customer. I felt that was unfair to my customers and I used customer’s belief to gain my own profit. I thought it will not have any lose for my customers even I did not tell the limitation of the product cause after customer complete the saving plan, they could take their money back at anytime, but customers will only get their return of this investment after 25 years when policy mature. As it tend to depend on the economy, the saving plan may not make profit for customers. This lesson has taught me how to be an ethic person. We could put ourselves as consumers that we will always wish to know the truth and we have the right. I will never do this again in my life, trust is very important and to build a trust will always get back our customers. I would like to explain and analysis all to my customer. I wish I can be a ethic person wherever I am and whatever I do.

Friday, August 30, 2019

Bag of Bones CHAPTER TWENTY-FOUR

Inspiration isn't always a matter of ghosts moving magnets around on refrigerator doors, and on Tuesday morning I had a flash that was a beaut. It came while I was shaving and thinking about nothing more than remembering the beer for the party. And like the best inspirations, it came out of nowhere at all. I hurried into the living room, not quite running, wiping the shaving cream off my face with a towel as I went. I glanced briefly at the Tough Stuff crossword collection lying on top of my manuscript. That had been where I'd gone first in an effort to decipher ‘go down nineteen' and ‘go down ninety-two.' Not an unreasonable starting-point, but what did Tough Stuff have to do with TR-90? I had purchased the book at Mr. Paperback in Derry, and of the thirty or so puzzles I'd completed, I'd done all but half a dozen in Derry. TR ghosts could hardly be expected to show an interest in my Derry crossword collection. The telephone book, on the other hand I snatched it off the dining-room table. Although it covered the whole southern part of Castle County Motton, Harlow, and Kashwakamak as well as the TR it was pretty thin. The first thing I did was check the white pages to see if there were at least ninety-two. There were. The Y's and Z's finished up on page ninety-seven. This was the answer. Had to be. ‘I got it, didn't I?' I asked Bunter. ‘This is it.' Nothing. Not even a tinkle from the bell. ‘Fuck you what does a stuffed moosehead know about a telephone book?' Go down nineteen. I turned to page nineteen of the telephone book, where the letter F was prominently showcased. I began to slip my finger down the first column and as it went, my excitement faded. The nineteenth name on page nineteen was Harold Failles. It meant nothing to me. There were also Feltons and Fenners, a Filkersham and several Finneys, half a dozen Flahertys and more Fosses than you could shake a stick at. The last name on page nineteen was Framingham. It also meant nothing to me, but Framingham, Kenneth P. I stared at that for a moment. A realization began to dawn. It had nothing to do with the refrigerator messages. You're not seeing what you think you're seeing, I thought. This is like when you buy a blue Buick ‘You see blue Buicks everywhere,' I said. ‘Practically got to kick em out of your way. Yeah, that's it.' But my hands were shaking as I turned to page ninety-two. Here were the T's of southern Castle County, along with a few U's like Alton Ubeck and Catherine Udell just to round things out. I didn't bother checking the ninety-second entry on the page; the phone book wasn't the key to the magnetic crosspatches after all. It did, however, suggest something enormous. I closed the book, just held it in my hands for a moment (happy folks with blueberry rakes on the front cover), then opened it at random, this time to the M's. And once you knew what you were looking for, it jumped right out at you. All those K's. Oh, there were Stevens and Johns and Marthas; there was Meserve, G., and Messier, V., and Jayhouse, T. And yet, again and again, I saw the initial K where people had exercised their right not to list their first name in the book. There were at least twenty K-initials on page fifty alone, and another dozen C-initials. As for the actual names themselves . . . There were twelve Kenneths on this random page in the M-section, including three Kenneth Moores and two Kenneth Munters. There were four Catherines and two Katherines. There were a Casey, a Kiana, and a Kiefer. ‘Holy Christ, it's like fallout,' I whispered. I thumbed through the book, not able to believe what I was seeing and seeing it anyway. Kenneths, Katherines, and Keiths were everywhere. I also saw Kimberly, Kim, and Kym. There were Cammie, Kia (yes, and we had thought ourselves so original), Kiah, Kendra, Kaela, Keil, and Kyle. Kirby and Kirk. There was a woman named Kissy Bowden, and a man named Kito Rennie Kito, the same name as one of Kyra's fridgeafator people. And everywhere, outnumbering such usually common initials as S and T and E, were those K's. My eyes danced with them. I turned to look at the clock didn't want to stand John Storrow up at the airport, Christ no and there was no clock there. Of course not. Old Krazy Kat had popped his peepers during a psychic event. I gave a loud, braying laugh that scared me a little it wasn't particularly sane. ‘Get hold of yourself, Mike,' I said. ‘Take a deep breath, son.' I took the breath. Held it. Let it out. Checked the digital readout on the microwave. Quarter past eight. Plenty of time for John. I turned back to the telephone book and began to riffle rapidly through it. I'd had a second inspiration not a megawatt blast like the first one, but a lot more accurate, it turned out. Western Maine is a relatively isolated area it's a little like the hill country of the border South but there has always been at least some inflow of folks from away (‘flatlanders' is the term the locals use when they are feeling contemptuous), and in the last quarter of the century it has become a popular area for active seniors who want to fish and ski their way through retirement. The phone book goes a long way toward separating the newbies from the long-time residents. Babickis, Parettis, O'Quindlans, Donahues, Smolnacks, Dvoraks, Blindermeyers all from away. All flatlanders. Jalberts, Meserves, Pillsburys, Spruces, Therriaults, Perraults, Stanchfields, Starbirds, Dubays all from Castle County. You see what I'm saying, don't you? When you see a whole column of Bowies on page twelve, you know that those folks have been around long enough to relax and really spread those Bowie genes. There were a few K-initials and K-names among the Parettis and the Smolnacks, but only a few. The heavy concentrations were all attached to families that had been here long enough to absorb the atmosphere. To breathe the fallout. Except it wasn't radiation, exactly, it I suddenly imagined a black headstone taller than the tallest tree on the lake, a monolith which cast its shadow over half of Castle County. This picture was so clear and so terrible that I covered my eyes, dropping the phone book on the table. I backed away from it, shuddering. Hiding my eyes actually seemed to enhance the image further: a grave-marker so enormous it blotted out the sun; TR-90 lay at its foot like a funeral bouquet. Sara Tidwell's son had drowned in Dark Score Lake . . . or been drowned in it. But she had marked his passing. Memorialized it. I wondered if anyone else in town had ever noticed what I just had. I didn't suppose it was all that likely; when you open a telephone book you're looking for a specific name in most cases, not reading whole pages line by line. I wondered if Jo had noticed if she'd known that almost every longtime family in this part of the world had, in one way or another, named at least one child after Sara Tidwell's dead son. Jo wasn't stupid. I thought she probably had. I returned to the bathroom, relathered, started again from scratch. When I finished, I went back to the phone and picked it up. I poked in three numbers, then stopped, looking out at the lake. Mattie and Ki were up and in the kitchen, both of them wearing aprons, both of them in a fine froth of excitement. There was going to be a party! They would wear pretty new summer clothes, and there would be music from Mattie's boombox CD player! Ki was helping Mattie make biscuits for strewberry snortcake, and while the biscuits were baking they would make salads. If I called Mattie up and said Pack a couple of bags, you and Ki are going to spend a week at Disney World, Mattie would assume I was joking, then tell me to hurry up and finish getting dressed so I'd be at the airport when John's plane landed. If I pressed, she'd remind me that Lindy had offered her her old job back, but the offer would close in a hurry if Mattie didn't show up promptly at two P.M. on Friday. If I continued to press , she would just say no. Because I wasn't the only one in the zone, was I? I wasn't the only one who was really feeling it. I returned the phone to its recharging cradle, then went back into the north bedroom. By the time I'd finished dressing, my fresh shirt was already feeling wilted under the arms; it was as hot that morning as it had been for the last week, maybe even hotter. But I'd be in plenty of time to meet the plane. I had never felt less like partying, but I'd be there. Mikey on the spot, that was me. Mikey on the goddam spot. John hadn't given me his flight number, but at Castle County Airport, such niceties are hardly necessary. This bustling hub of transport consists of three hangars and a terminal which used to be a Flying A gas station when the light's strong on the little building's rusty north side, you can still see the shape of that winged A. There's one runway. Security is provided by Lassie, Breck Pellerin's ancient collie, who spends her days crashed out on the linoleum floor, cocking an ear at the ceiling whenever a plane lands or takes off. I popped my head into Pellerin's office and asked him if the ten from Boston was on time. He said it 'twas, although he hoped the paa'ty I was meetin planned to either fly back out before mid-afternoon or stay the night. Bad weather was comin in, good gorry, yes. What Breck Pellerin referred to as ‘lectrical weather. I knew exactly what he meant, because in my nervous system that electricity already seemed to have arrived. I went out to the runway side of the terminal and sat on a bench advertising Cormier's Market (FLY INTO OUR DELI FOR THE BEST MEATS IN MAINE). The sun was a silver button stuck on the eastern slope of a hot white sky. Headache weather, my mother would have called it, but the weather was due to change. I would hold onto the hope of that change as best I could. At ten past ten I heard a wasp-whine from the south. At quarter past, some sort of twin-engine plane dropped out of the murk, flopped onto the runway, and taxied toward the terminal. There were only four passengers, and John Storrow was the first one off. I grinned when I saw him. I had to grin. He was wearing a black tee-shirt with WE ARE THE CHAMPIONS printed across the front and a pair of khaki shorts which displayed a perfect set of city shins: white and bony. He was trying to manage both a Styrofoam cooler and a briefcase. I grabbed the cooler maybe four seconds before he dropped it, and tucked it under my arm. ‘Mike!' he cried, lifting one hand palm out. ‘John!' I returned in much the same spirit (evoe is the word that comes immediately to the crossword aficionado's mind), and slapped him five. His homely-handsome face split in a grin, and I felt a little stab of guilt. Mattie had expressed no preference for John quite the opposite, in fact and he really hadn't solved any of her problems; Devore had done that by topping himself before John had so much as a chance to get started on her behalf. Yet still I felt that nasty little poke. ‘Come on,' he said. ‘Let's get out of this heat. You have air conditioning in your car, I presume?' ‘Absolutely.' ‘What about a cassette player? You got one of those? If you do, I'll play you something that'll make you chortle.' ‘I don't think I've ever heard that word actually used in conversation, John.' The grin shone out again, and I noticed what a lot of freckles he had. Sheriff Andy's boy Opie grows up to serve at the bar. ‘I'm a lawyer. I use words in conversation that haven't even been invented yet. You have a tape-player?' ‘Of course I do.' I hefted the cooler. ‘Steaks?' ‘You bet. Peter Luger's. They're ‘ ‘ the best in the world. You told me.' As we went into the terminal, someone said, ‘Michael?' It was Romeo Bissonette, the lawyer who had chaperoned me through my deposition. In one hand he had a box wrapped in blue paper and tied with a white ribbon. Beside him, just rising from one of the lumpy chairs, was a tall guy with a fringe of gray hair. He was wearing a brown suit, a blue shirt, and a string tie with a golf-club on the clasp. He looked more like a farmer on auction day than the sort of guy who'd be a scream when you got a drink or two into him, but I had no doubt this was the private detective. He stepped over the comatose collie and shook hands with me. ‘George Kennedy, Mr. Noonan. I'm pleased to meet you. My wife has read every single book you ever wrote.' ‘Well thank her for me.' ‘I will. I have one in the car a hardcover . . . ‘ He looked shy, as so many people do when they get right to the point of asking. ‘I wonder if you'd sign it for her at some point.' ‘I'd be delighted to,' I said. ‘Right away's best, then I won't forget.' I turned to Romeo. ‘Good to see you, Romeo.' ‘Make it Rommie,' he said. ‘Good to see you, too.' He held out the box. ‘George and I clubbed together on this. We thought you deserved something nice for helping a damsel in distress.' Kennedy now did look like a man who might be fun after a few drinks. The kind who might just take a notion to hop onto the nearest table, turn a tablecloth into a kilt, and dance. I looked at John, who gave the kind of shrug that means hey, don't ask me. I pulled off the satin bow, slipped my finger under the Scotch tape holding the paper, then looked up. I caught Rommie Bissonette in the act of elbowing Kennedy. Now they were both grinning. ‘There's nothing in here that's going to jump out at me and go booga-booga, is there, guys?' I asked. ‘Absolutely not,' Rommie said, but his grin widened. Well, I can be as good a sport as the next guy. I guess. I unwrapped the package, opened the plain white box inside, revealed a square pad of cotton, lifted it out. I had been smiling all through this, but now I felt the smile curl up and die on my mouth. Something went twisting up my spine as well, and I think I came very close to dropping the box. It was the oxygen mask Devore had had on his lap when he met me on The Street, the one he'd snorted from occasionally as he and Rogette paced me, trying to keep me out deep enough to drown. Rommie Bissonette and George Kennedy had brought it to me like the scalp of a dead enemy and I was supposed to think it was funny ‘Mike?' Rommie asked anxiously. ‘Mike, are you okay? It was just a joke ‘ I blinked and saw it wasn't an oxygen mask at all how in God's name could I have been so stupid? For one thing, it was bigger than Devore's mask; for another, it was made of opaque rather than clear plastic. It was I gave a tentative chuckle. Rommie Bissonette looked tremendously relieved. So did Kennedy. John only looked puzzled. ‘Funny,' I said. ‘Like a rubber crutch.' I pulled out the little mike from inside the mask and let it dangle. It swung back and forth on its wire, reminding me of the waggy clock's tail. ‘What the hell is it?' John asked. ‘Park Avenue lawyer,' Rommie said to George, broadening his accent so it came out Paa-aak Avenew lawyah. ‘Ain't nevah seen one of these, have ya, chummy? Nossir, coss not.' Then he reverted to normal-speak, which was sort of a relief. I've lived in Maine my whole life, and for me the amusement value of burlesque Yankee accents has worn pretty thin. ‘It's a Stenomask. The stenog keeping the record at Mike's depo was wearing one. Mike kept looking at him ‘ ‘It freaked me out,' I said. ‘Old guy sitting in the corner and mumbling into the Mask of Zorro.' ‘Gerry Bliss freaks a lot of people out,' Kennedy said. He spoke in a low rumble. ‘He's the last one around here who wears em. He's got ten or eleven left in his mudroom. I know, because I bought that one from him.' ‘I hope he stuck it to you,' I said. ‘I thought it would make a nice memento,' Rommie said, ‘but for a second there I thought I'd given you the box with the severed hand in it I hate it when I mix up my gift-boxes like that. What's the deal?' ‘It's been a long hot July,' I said. ‘Put it down to that.' I hung the Stenomask's strap over one finger, dangling it that way. ‘Mattie said to be there by eleven,' John told us. ‘We're going to drink beer and throw the Frisbee around.' ‘I can do both of those things quite well,' George Kennedy said. Outside in the tiny parking lot George went to a dusty Altima, rummaged in the back, and came out with a battered copy of The Red-Shirt Man. ‘Frieda made me bring this one. She has the newer ones, but this is her favorite. Sorry about how it looks she's read it about six times.' II ‘It's my favorite, too,' I said, which was true. ‘And I like to see a book with mileage.' That was also true. I opened the book, looked approvingly at a smear of long-dried chocolate on the flyleaf, and then wrote: For Frieda Kennedy, whose husband was there to lend a hand. Thanks for sharing him, and thanks For reading, Mike Noonan. That was a long inscription for me usually I just stick to Best wishes or Good luck, but I wanted to make up for the curdled expression they had seen on my face when I opened their innocent little gag present. While I was scribbling, George asked me if I was working on a new novel. ‘No,' I said. ‘Batteries currently on recharge.' I handed the book back. ‘Frieda won't like that.' ‘No. But there's always Red-Shirt.' ‘We'll follow you,' Rommie said, and a rumble came from deep in the west. It was no louder than the thunder which had rumbled on and off for the last week, but this wasn't dry thunder. We all knew it, and we all looked in that direction. ‘Think we'll get a chance to eat before it storms?' George asked me. ‘Yeah. Just about barely.' I drove to the gate of the parking lot and glanced right to check for traffic. When I did, I saw John looking at me thoughtfully. ‘What?' ‘Mattie said you were writing, that's all. Book go tits-up on you or something?' My Childhood Friend was just as lively as ever, in fact . . . but it would never be finished. I knew that this morning as well as I knew there was rain on the way. The boys in the basement had for some reason decided to take it back. Asking why might not be such a good idea the answers might be unpleasant. ‘Something. I'm not sure just what.' I pulled out onto the highway, checked behind me, and saw Rommie and George following in George's little Altima. America has become a country full of big men in little cars. ‘What do you want me to listen to? If it's home karaoke, I pass. The last thing on earth I want to hear is you singing â€Å"Bubba Shot the Jukebox Last Night.†Ã¢â‚¬Ëœ ‘Oh, it's better than that,' he said. ‘Miles better.' He opened his briefcase, rooted through it, and came out with a plastic cassette box. The tape inside was marked 7-20-98 yesterday. ‘I love this,' he said. He leaned forward, turned on the radio, then popped the cassette into the player. I was hoping I'd already had my quota of nasty surprises for the morning, but I was wrong. ‘Sorry, I just had to get rid of another call,' John said from my Chevy's speakers in his smoothest, most lawyerly voice. I'd have bet a million dollars that his bony shins hadn't been showing when this tape was made. There was a laugh, both smoky and grating. My stomach seized up at the sound of it. I remembered seeing her for the first time standing outside The Sunset Bar, wearing black shorts over a black tank-style swimsuit. Standing there and looking like a refugee from crash-diet hell. ‘You mean you had to turn on your tape-recorder,' she said, and now I remembered how the water had seemed to change color when she nailed me that really good one in the back of the head. From bright orange to dark scarlet it had gone. And then I'd started drinking the lake. ‘That's okay. Tape anything you want.' John reached out suddenly and ejected the cassette. ‘You don't need to hear this,' he said. ‘It's not substantive. I thought you'd get a kick out of her blather, but . . . man, you look terrible. Do you want me to drive? You're white as a fucking sheet.' ‘I can drive,' I said. ‘Go on, play it. Afterward I'll tell you about a little adventure I had Friday night . . . but you're going to keep it to yourself. They don't have to know' I jerked my thumb over my shoulder at the Altima ‘and Mattie doesn't have to know. Especially Mattie.' He reached for the tape, then hesitated. ‘You're sure?' ‘Yeah. It was just hearing her again out of the blue like that. The quality of her voice. Christ, the reproduction is good.' ‘Nothing but the best for Avery, McLain, and Bernstein. We have very strict protocols about what we can tape, by the way. If you were wondering.' ‘I wasn't. I imagine none of it's admissible in litigation anyway, is it?' ‘In certain rare cases a judge might let a tape in, but that's not why we do it. A tape like this saved a man's life four years ago, right around the time I joined the firm. That guy is now in the Witness Protection Program.' ‘Play it.' He leaned forward and pushed the button. John: ‘How is the desert, Ms. Whitmore?' Whitmore: ‘Hot.' John: ‘Arrangements progressing nicely? I know how difficult times like this can ‘ Whitmore: ‘You know very little, counsellor, take it from me. Can we cut the crap?' John: ‘Consider it cut.' Whitmore: ‘Have you conveyed the conditions of Mr. Devore's will to his daughter-in-law?' John: ‘Yes ma'am.' Whitmore: ‘Her response?' John: ‘I have none to give you now. I may have after Mr. Devore's will has been probated. But surely you know that such codicils are rarely if ever accepted by the courts.' Whitmore: ‘Well, if that little lady moves out of town, we'll see, won't we?' John: ‘I suppose we will.' Whitmore: ‘When is the victory party?' John: ‘Excuse me?' Whitmore: ‘Oh please. I have sixty different appointments today, plus a boss to bury tomorrow. You're going up there to celebrate with her and her daughter, aren't you? Did you know she's invited the writer? Her fuck-buddy?' John turned to me gleefully. ‘Do you hear how pissed she sounds? She's trying to hide it, but she can't. It's eating her up inside!' I barely heard him. I was in the zone with what she was saying (the writer her fuck-buddy) and what was under what she was saying. Some quality beneath the words. We just want to see how long you can swim, she had called out to me. John: ‘I hardly think what I or Mattie's friends do is any of your business, Ms Whitmore. May I respectfully suggest that you party with your friends and let Mattie Devore party with h Whitmore: ‘Give him a message.' Me. She was talking about me. Then I realized it was even more personal than that she was talking to me. Her body might be on the other side of the country, but her voice and spiteful spirit were right here in the car with us. And Max Devore's will. Not the meaningless shit his lawyers had put down on paper but his will. The old bastard was as dead as Damocles, but yes, he was definitely still seeking custody. John: ‘Give who a message, Ms. Whitmore?' Whitmore: ‘Tell him he never answered Mr. Devore's question.' John: ‘What question is that?' Does her cunt suck? Whitmore: ‘Ask him. He'll know.' John: ‘If you mean Mike Noonan, you can ask him yourself. You'll see him in Castle County Probate Court this fall.' Whitmore: ‘I hardly think so. Mr. Devore's will was made and witnessed out here.' John: ‘Nevertheless, it will be probated in Maine, where he died. My heart is set on it. And when you leave Castle County the next time, Rogette, you will do so with your education in matters of the law considerably broadened.' For the first time she sounded angry, her voice rising to a reedy caw. Whitmore: ‘If you think ‘ John: ‘I don't think. I know. Goodbye, Ms. Whitmore.' Whitmore: ‘You might do well to stay away from ‘ There was a click, the hum of an open line, then a robot voice saying ‘Nine-forty A.M. . . . Eastern Daylight . . . July . . . twentieth.' John punched EJECT, collected his tape, and stored it back in his briefcase. ‘I hung up on her.' He sounded like a man telling you about his first skydive. ‘I actually did. She was mad, wasn't she? Wouldn't you say she was seriously pissed?' ‘Yeah.' It was what he wanted to hear but not what I really believed. Pissed, yes. Seriously pissed? Maybe not. Because Mattie's location and state of mind hadn't been her concern; Rogette had called to talk to me. To tell me she was thinking of me. To bring back memories of how it felt to tread water with the back of your head gushing blood. To freak me out. And she had succeeded. ‘What was the question you didn't answer?' John asked me. ‘I don't know what she meant by that,' I said, ‘but I can tell you why hearing her turned me a little white in the gills. If you can be discreet, and if you want to hear.' ‘We've got eighteen miles to cover; lay it on me.' I told him about Friday night. I didn't clutter my version with visions or psychic phenomena; there was just Michael Noonan out for a sunset walk along The Street. I'd been standing by a birch tree which hung over the lake, watching the sun drop toward the mountains, when they came up behind me. From the point where Devore charged me with his wheelchair to the point where I finally got back onto solid ground, I stuck pretty much to the truth. When I finished, John was at first utterly silent. It was a measure of how thrown for a loop he was; under normal circumstances he was every bit the chatterbox Ki was. ‘Well?' I asked. ‘Comments? Questions?' ‘Lift your hair so I can see behind your ear.' I did as he asked, revealing a big Band-Aid and a large area of swelling. John leaned forward to study it like a little kid observing his best friend's battle-scar during recess. ‘Holy shit,' he said at last. It was my turn to say nothing. ‘Those two old fucks tried to drown you.' I said nothing. ‘They tried to drown you for helping Mattie.' Now I really said nothing. ‘And you never reported it?' ‘I started to,' I said, ‘then realized I'd make myself look like a whiny little asshole. And a liar, most likely.' ‘How much do you think Osgood might know?' ‘About them trying to drown me? Nothing. He's just a messenger boy.' A little more of that unusual quiet from John. After a few seconds of it he reached out and touched the lump on the back of my head. ‘Ow!' ‘Sorry.' A pause. ‘Jesus. Then he went back to Warrington's and pulled the pin. Jesus. Michael, I never would have played that tape if I'd known ‘ ‘It's all right. But don't even think of telling Mattie. I'm wearing my hair over my ear like that for a reason.' ‘Will you ever tell her, do you think?' ‘I might. Some day when he's been dead long enough so we can laugh about me swimming with my clothes on.' ‘That might be awhile,' he said. ‘Yeah. It might.' We drove in silence for a bit. I could sense John groping for a way to bring the day back to jubilation, and loved him for it. He leaned forward, turned on the radio, and found something loud and nasty by Guns ‘n Roses welcome to the jungle, baby, we got fun and games. ‘Party 'til we puke,' he said. ‘Right?' I grinned. It wasn't easy with the sound of the old woman's voice still clinging to me like light slime, but I managed. ‘If you insist,' I said. ‘I do,' he said. ‘Most certainly.' ‘John, you're a good guy for a lawyer.' ‘And you're a good one for a writer.' This time the grin on my face felt more natural and stayed on longer. We passed the marker reading TR-90, and as we did, the sun burned through the haze and flooded the day with light. It seemed like an omen of better times ahead, until I looked into the west. There, black in the bright, I could see the thunderheads building up over the White Mountains.

Thursday, August 29, 2019

Endeca Technologies Essay

Executive Summary Endeca Technologies is a software company that established by Steve Papa on September 4th 2001. In the case, the company is currently looking for a Series C round funding to reduce the expected pre-money valuation multiple times because of the NASDAQ had fallen. In the end, the company got a rough pre-money valuation of $25M. At this time, there are two different term sheets that each of them contains some pros and cons putting in front of Papa to let him choose. Overall, Papa should choose the first term sheet because the benefits in that term sheet are more than the second term sheet, and at the same time it has less cons. Does Endeca look like a good investment at this time? Overall, Endeca looks like a risky choice for investors to invest. Since Endeca is a technology software company, this industry is very competitive and intensive; everyday there are new firms emerge in this industry with new technologies and ideas. At the beginning, Endeca planed to make a Series C round funding in around November and Decemeber in 2000. However, because of the NASDAQ was falling, the CEO Papa realized that raising funding at that time was vey hard. Thus, Papa extended the funds from Series B to an extra six months. Papa’s action gave many other firms to have the chances to catch up and build up their technologies and management strategies. Thus after this six-months delay, Endeca needs to put in more effort to gain back its market status. What are the motivations for BVP and Venrock? Ampersand? Bessemer Venture Partners and Venrock invested in the second round on Endeca. Because Papa had connections with Venrock, where he had served a summer internship while at HBS. Papa and Venrock built the good relationship at that time, thus Venrock is willing to invest in Endeca, which is his motivation to invest in the firm. Ampersand is a new potentially company that will invest in Endeca in Series C. This is a very diversified company and so far they didn’t invest in any technology company similar to Endeca  yet. First, because Ampersand never invested in any firm in this industry yet, as a diversified investing firm, they are willing to take the chance to try new thing to invest on Endeca. Secondly, Ampersand has a long-standing connection to Endeca’s top management team, which is also Ampersand’s motivation to invest in Endeca. How has the CEO handled the C round? Would you do anything different? The CEO Papa hasn’t handled the Series C round well due to many different reasons. First, as mentioned before, because at that time the NASDAQ was falling, in order to avoid the bad investment situation and wished the market will get better again, Papa stretched the Series B investment for an extra six months. However, this turned out to be a bad decision. The fact is that the market didn’t improve later and the company was having difficult to get the term sheet from investors. Secondly, even though fortunately Papa got two term sheets in the end, what he did wrong was that he made a verbal commitment to the insider-led and a potential client DGSCP says that one offer is better than the other one. If in the end Papa choose the other offer, he might be risky on breaking his words in front of DGSCP and losing business with them. If I were responsible for handling the C round, I would definitely do things differently. First of all, I would not delay the Series C round investment. I think investment funds are extremely important on doing a business; it is always better to prepare for enough funding rather than need it but cannot get the money. In addition, I would not bring the insider-led and the potential client DGSCP into the deal to give any verbal commitment before I made my decision. Provide a detailed discussion of the pros and cons of the two term sheets. Which is more favorable to Endeca? Evaluate the two term sheets both financially (in terms of value) and non-financially (other terms.) Which provides them with a higher probability of survival and success? First Term Sheet Pros Cons Many investors who invested before, easier for the transition Barely dilutes Venrock Original Price equals to Liquidation Preference Made verbal commitment before Potential client DGSCP involved Lower price per share, $0.985/share Less Capital Low valuation Second Term Sheet Pros Cons Higher Price per share, $1.25/share More capital Bring in new investors, new opportunity Lose Anger Series B investors and DGSCP in the C round More complicated because of new investors Ampersand doesn’t have much experience in investing this industry Accrued dividends and redemption rights As the chief representative for Endeca’s shareholders, which deal should recommend to the Board? Why? As the chief representative for Endeca’s shareholders, I think Papa should choose the first term sheet. According to the analysis above, the first term  sheet has more benefits over the second term sheet and less cons compared to the second term sheet. The only thing I concern about the first term sheet is the capital is less than the second term sheet. However, in reality the capital that the second term sheet provided is still far from what Papa initially wanted for Series C. Most importantly, because Papa made the verbal commitment with the potential DGSCP client that he would choose the first term sheet, consider the future cooperation and business that Papa would probably do with DGSCP, I think it is a wise choice to choose the first one at this point.

Wednesday, August 28, 2019

Management of Information Technology. How can you improve Starbucks Essay

Management of Information Technology. How can you improve Starbucks with the use of IT (you have to use Porter's 5 and Porter's - Essay Example ... 5. Conclusion............................................................................................................... References EXECUTIVE SUMMARY Starbucks operates in a market environment where competitive rivalry is intensive and where differentiation of product offerings characterises market position. Starbucks is currently challenged by major competitors such as Costa and Pret-a-Manger that are each positioned differently depending on service conceptions and emphasis placed on satisfying customers. Starbucks currently utilises a premiumisation strategy, built on years of brand establishment and the ability of the business to express quality and human capital talent to make this business stand out from competition. In a market environment where changing consumer attitudes and lifestyles dictate the level of competitive responsiveness from key market players in this industry, the company must remain focused on the marketing function as the primary competitive advantages . Research into Starbucks identified many opportunities for where information technology could provide competitive advantages. These opportunities include linking technology to the marketing and branding functions, to improve human resources efficiency and training, and by opening lines of real-time communication with internal staff members and external supply chain partners. It is recommended that the business establish IT systems in areas of brand development, procurement, and for human capital development to achieve better market presence and brand reputation. How to improve Starbucks with IT 1. Introduction Starbucks is a global coffee company that has, in recent years, diversified its business strategies, procurement models, and market positioning in order to gain competitive advantages. Starbucks currently maintains 793 stores in the United Kingdom selling coffee beans, hot and cold beverages, snacks and sandwiches, as well as books, music, and a variety of Starbucks branded m erchandise offerings (Starbucks 2012). The company, in 2011, boasted revenues of approximately 14 billion USD, a significant accomplishment for a business that operates in very saturated competitive marketplaces and offers products that have reached their maturity against the product life cycle model. 2. Five Forces Analysis In the United Kingdom, Starbucks maintains very powerful competition with such major coffee houses as Costa and Pret-a-Manger. Costa, the second largest coffee house in the world, currently holds 37.6 percent of market share in this industry in the UK, backed by the notable cash and capital resources of its parent company Whitbread Plc. These main competitors continue to use their strong brand positioning to maintain consumer loyalty in key markets, representing significant competitive threats to Starbucks. Under Porter’s Five Forces model, there are several threats to maintaining current market leader position for this mature business model. The most sig nificant threat in this market is the degree of rivalry that exists between main competitors, associated with brand personality and associated promotions to gain consumer loyalty. Starbucks operates in an oligopoly, a market characterised by only a handful of major competitors and where competitive promotions and branding strategies influence competitive responses (Boyes and Melvin 2005). In this market, switching costs for consumers are very low, thus the intensity of competitive promo

Tuesday, August 27, 2019

PROHIBITION AND WHY IT WAS REVERSED Thesis Example | Topics and Well Written Essays - 500 words - 1

PROHIBITION AND WHY IT WAS REVERSED - Thesis Example riment essentially banned all works associated with alcohol that include but are not limited to the making, transportation, storage and sale of alcohol. The 18th Amendment was proposed on 18 December, 1917. A temporary Wartime Prohibition Act was passed by the Congress in US on 18 November, 1918 that imposed a partial ban on alcohol by prohibiting the consumption of all such beverages in which the content of alcohol exceeded 2.75 per cent. With due approval from 36 states of US, and the 18th Amendment was approved on 16 January, 1919. Finally on 17 January, 1920, the 18th Amendment was enforced. The move was so meaningful and important that some states in US had enforced the prohibition even before the formal approval of 18th Amendment for the very reason. After the enforcement of Prohibition of the manufacturing, storage and consumption of alcohol all over the US, the amount of liquor consumed by the public saw a drastic decline, though it was not without side effects. The Prohibition stimulated violence and criminal activity underground. In the 1920s, which was essentially the period of Great Depression for many advanced and industrialized countries, Prohibition did not appeal to the public particularly in the bigger cities of US. Prohibition was supposed to lower crime and corruption, reduce social problems, lower taxes needed to support prisons and poorhouses, and improve health and hygiene in America. Instead, Alcohol became more dangerous to consume; organized crime blossomed; courts and prisons systems became overloaded; and endemic corruption of police and public officials occurred. (â€Å"1920s Prohibition†). The benefits derived from the ban were temporary. The 18th Amendment caused an upset in the society and the rate of crime upsurged. The underground production and consumption did not remain limited to alcohol, but the production of all kinds of drugs started with it. The underground channels became well developed, and the smugglers’ and drug

Incidents in the life of a slave girl Essay Example | Topics and Well Written Essays - 500 words - 1

Incidents in the life of a slave girl - Essay Example Rock, she never loses her self esteem or her yearning to have an ordinary home and gang. She is dedicated to her kids and eager to persist extraordinary languishing over their purpose. As an adolescent slave young lady of fifteen years, Linda is compelled to pick between the ideals imparted by her abundantly regarded Grandmother and her have to declare herself sexually to stay away from further oppression. While Linda succeeds in staying away from large portions of Dr. Stones developments, she is given a last final offer when he guarantees to fabricate a cabin for her. As opposed to permitting Dr. Stone to "succeed finally in stomping his victimized person under his feet" (Jacobs 53), Linda revolts and offers herself to Mr. Sands. This activity defiles the blamelessness and righteousness ingrained by her family and Linda must battle with "the distress I was bringing on my grandma." (Jacobs 56). Yet this distress is not stronger than Lindas longing to triumph over her ace. At the point when Linda at long last revels in her minute of triumph, it is shadowed by the information that her family will take in of her shrouded undertaking and lost guiltlessness (Jacobs 56) . Emulating her admission, Lindas grandma uncovers that she might rather see her granddaughter dead than in her current state, pregnant and unwed (Jacobs 56). This brutal feeling must be tempered by the verifiable connection. Under the law of bondage, a slave ladys kids must take after their mother into servitude. Moreover, both slaves and whites set incredible essentialness upon the establishment of marriage. Hence, when Linda entreats her grandma for absolution and relates her battles with Dr. Flint, she must settle for the old ladys compassion (Jacobs 57). For Linda, her subversive triumph has a go at a heavy cost – her grandmas appreciation. This compassion for the fallen granddaughter differentiates the pardoning the grandma gives to her child,

Monday, August 26, 2019

Waste Management Practices Essay Example | Topics and Well Written Essays - 250 words

Waste Management Practices - Essay Example However, they were not enough to solve the sanitary problems of the ever-increasing generation. The MSW generation rate increased from 2.7 pounds per person per day in late twentieth century to around 4.5 pounds per person per day (United States, 2002). It then stabilized to this amount due to various policies and methods of efficient management strategies. The inception of The Solid Waste Disposal Act and later, Environmental Protection Agency were two important milestones, since they led to talks and ideas about waste disposal which lead to reduction in generation and proper management. Source reduction was also one of the methods deployed by the United States. It aimed to design products that reduced toxicity upon wastage and included reuse of products and composting of yard trimmings. This greatly reduced the generation of MSW. Another method that dealt with management of waste and reduction in MSW generation is recycling, and the tax levy. Recycling involved recycling of plastic and paper – a method commonly used and promoted to date and tax levies led to reduction in disposal of waste. Thus, these milestones have promoted in creating a more sanitary, healthy United States of

Sunday, August 25, 2019

Cognitivism and Postmodernism in Rushmore Essay

Cognitivism and Postmodernism in Rushmore - Essay Example My contention is that Wes Anderson makes use of the cognitivisim and postmodernism theories in Rushmore to highlight his characters in a manner that is food for thought about placing the movie in only â€Å"teen comedy† genre. In psychology, the cognitivist hypothesis fundamentally contends that there is a need to open and critically analyse and understand the â€Å"black box† of the mind. In a way, the person undergoing this learning process is taken to be like a computer processor that processes the data provided to it. (Kracauer, 1960) While the cognitivist hypothesis took over from behaviourism in the second half of the twentieth century, it is relevant to serious students of psychology and media studies to this day. The idea is that our human mind is complex and only upon a close look at the way it functions and the thoughts and processes that actually make a person are we able to determine what drives a person and how human beings work. (Bazin, 2004) Moreover the changes that a person experiences in ones behaviour come about due to certain actions that take place and which in turn formulate the person’s thoughts. Cognitivism, hence, is essential in allowing researchers to learn about outcomes of human thoughts and experiences. Rushmore makes an interesting study of this technique, in the form of not only the protagonist, Max, but also Herman Blume, the depressed, rich, industrialist, among other characters. Early on in the movie the audience is treated to a montage of extracurricular activities that Max is involved in at Rushmore. The montage is itself quite telling of the way Max considers things to be fleeting and haphazard – even though he’s on a scholarship at Rushmore, he is one of the most unsuccessful students at this private institute and thus enrols in activities that border on the crazy. It also goes to show the disconnection Max experiences with the world he is a part of. (Kempley, 1999) Things that his fellow students and friends take seriously or consider important in life find are of little interest to him. Max goes on record to tell everyone that his father is a neurosurgeon – it may appear to be a harmless lie (his father is actually a barber) but this lie is another element that cements the fantasy world that Max participates in and would like to see as the truth. The unusual friendship that strikes between Max and Blume is extremely telling, not only in relation to the two characters but also of the American society on the whole. As earlier mentioned, Rushmore is more than just a ‘teen comedy’, it takes pains to highlight the way teenagers are acknowledged in the society as well as the consequences of issues silently eating away a person and ones inability to do anything about it. (Arnold, 1999) Anderson makes use of the postmodernist technique in this effect to give greater meaning to his film. The articulation of postmodernist ideas through visual medium is w hat categorizes a postmodernist film. Generally the characterization and narrative structure conventions are disrupted in a manner that also disrupts the willing ‘suspension of disbelief’ that the audience puts itself under while watching a film. (Denzin, 1991) The friendship between Max and Blume is unusual on a number of accounts. Firstly, they have a good amount of age difference in between, but that’s not everything. As the film progresses, through small telling actions, it becomes apparent that Blume seems in Max the energy of

Saturday, August 24, 2019

The Artifact Essay Example | Topics and Well Written Essays - 750 words

The Artifact - Essay Example There were a lot of questions that I had about the economic feasibility of the product in my book. Thirdly, I wondered what was the point of buying kindle? I love books and everything related-from the smell of the printed paper to the binding and the placing bookmarks in the book by folding it on the corners. It was the entire sensory experience of reading a book that I loved. However after a lot of foresight and fore-thought, I finally bought Kindle. I started of reading it every night before sleeping, the way I’d do so with my normal books. It was later I realized how important Kindle is to me. It became an addiction. I could not sleep without spending a good fifteen-thirty minutes without being enthralled in it initially. This was just the beginning. Soon those minutes turned into hours and I was eventually spending 2-3 hours on the kindle. In the next 2 weeks my involvement with the Kindle had transformed into a deep rooted love-from 15 minutes to 2-3 hours. Things did not stop there. I loved the way I could carry the kindle in my bag without over-burdening. Soon, I started carrying it everywhere I would go to. I just couldn’t stand the idea of being bored. If I would get bored, Kindle would come to my rescue. I was that addicted to the device. I love the device primarily because the convenience it offers of not just reading it but for being my respite from the real world. There are times when I am down and out; when I don’t feel like talking to anyone. When I feel that I need to be left alone. That is when the Kindle comes to my rescue. It is my favorite companion and my solace from the miseries of the real world. The best part about it is that it is hassle free. Except for the initial investment, it costs you zilch in terms of convenience of handling it later on. It is wonderful to have a book handy at all times while waiting for a dentist, an appointment or at the spa. Anything that requires you to wait, you can do with the kindle. T oday I read waiting in the line while I am at grocery store. Let’s just put it this way, Kindle has become an integral part of my being. It is a must accessory for me, it is an extension of my right hand and I am more worried to keep the kindle with me, then about wearing the right make up. I like the way the kindle hibernates with just a click once I am done reading. I love the convenience of reading up a word in the dictionary and then returning back to my book while reading on kindle. Kindle has also made inroads in improving the speed at which I read. Now I can turn a page at a click. The most enticing part about kindle for me is the way it helps me make notes and highlights at the end of the book. It helps me share key points of the book with others, my review and what I feel about it; vent out my frustration about a particular plot, character or even pour it in why I loved that particular plot or character. In-short, Kindle offers me one of the most exciting and interes ting reading experiences ever. (Walkman) My biggest amusement with the Kindle, that I have not yet unveiled it has built up the tolerance level in me to pique through mindless plots and love stories without having to worry about people around me catching me reading a book with a trashy cover. No one really has to know, what I am reading and why I am reading it. It offers me complete privacy and I love this most about it. (Mollywood) Works Cited Mollywood. Kindle fire an ipad killer. 28 9 2011. 11 10 2011

Friday, August 23, 2019

Educational Specification Research Proposal Example | Topics and Well Written Essays - 1500 words

Educational Specification - Research Proposal Example From the discussion it is clear that  planning seeks to identify the main requirements for the project in order to ensure that the objectives are met during the implementation process for the project. During the planning phase various project parameters including functional, philosophic, environmental and operational aspects are considered, with the aim of producing a comprehensive plan for implementing a project.As the paper highlights the need to improve teaching within schools has necessitated the transformation of the methods utilized in teaching. There is an increased need to academic relevance of the theoretical materials being taught to be applicable within practical settings outside the classroom. While this serves as an encouragement to students on the viability of materials being taught, this is a core factor that enhances the understanding of the theoretical concepts presented in class. Conducting laboratory studies, especially within the STEM field has been described a core element in teaching within this field. This project has been developed and implemented based on the philosophy of ensuring practicality of teaching within the STEM field. The goal of the project is the presentation of a facility that can be utilized by teachers and students in conducting practical tests within the field of STEM.  The facility will be utilized by junior high school students for conducting many of their introductory practicals in STEM subjects.

Thursday, August 22, 2019

Differences Between Colonies Essay Example for Free

Differences Between Colonies Essay Differences between colonies: Religious: The Pilgrims who settled at Plymouth were Puritans vs. Anglicans at Jamestown. Plus, Plymouth was founded for religious reasons while Jamestown was founded for economic reasons. Dont get me wrongreligion was critical for both groups but the Puritans left England because they were religious outcasts while the settlers at Jamestown were there for economic benefit and had investors. Labor: Jamestown was initially settled under martial law and the military played a significant role (especially in terms of governance) within the colony while the military presence for Plymouth was more of militia and didnt grow until the colony spread beyond Plymouth. Social: More swamps, longer warm-weather seasons meant more mosquitoes in Virginia. The English settlers there came primarily from swampy areas of the UK and had been exposed to malaria previously. New research on the settlement suggests that one reason the settlers werent attacked and anhiliated by Indians (and why their numbers retreated back into the forests) was the sudden onset of malaria (a disease that did not exist in this part of the New World prior to the appearance of the English). But the settlers in Plymouth came to an area that had been devastated by disease earlier (thus wiping out most of the indigenous peoples). Life was hard for both colonies. But the puritans in Plymouth were more of a culture of cooperation and sharing which helped ease relations with the Indians and allowed them to weather the longer winters in NE better than the more mercenary nature of the Jamestown settlers. French Indian War: The conflict was first a world war. England did not focus all it;s might on the war and left much of the fighting to the colonists. This taught the Americans that the mother country wasnt always going to be there to save them. Communication between America and England was at the pace of a sailing ship. One could send a message but months could pass before an answer was received. It was very clear that the Americans were fighting the war pretty much on their own. Directions and help were a long time coming. Once the wars was over, the Colonists saw lands to the West to be open for settlement. Most of the colonies had charters granting them land all the way to the Pacific. The new lands were also seen as a reward for winning the war. The Proclamation of 1763 closed the new lands to  settlement. The Americans saw this as a absent ruler that didnt have a grasp on the needs of the Americans and the proclamation as a hardship. The English saw it as a way to keep peace with the Native Americans and not have to continue to fight a war in America. Finally the British government was deeply in debt. They saw the colonies as a revenue source. After all England had just fought a world war and saved the colonies from the French and Indians. They that were protected during the war should help pay for it. Long unused laws were enforced and new taxes added. The Americans saw this as more British heavy handedness. The Colonists had founght the war, mostly on their own, They had suffered loses, and now were both being blocked from westward expansion but were being taxed without having any say in the matter. TeaParty: Political That was the year the British enacted the Proclamation of 1763, which made it illegal for colonists to settle west of the Appalachian Mountains. Economic The British also enacted the Currency Act in 1763, that law made it illegal for the colonists to make their own money. Both of these were done as a means for the British to gain more control of the colonists and this greatly upset the colonists. 1763 was the year the colonists started to realize they would be better off being independent of Britain and it sowed the seeds of revolution. The British responded to the Boston Tea Party by making th Intolerable Acts which closed the Boston Ports and destroyed the Massachusetts government. Articles: There was no foreign policy, and states printed their own currency. The federal government could not tax; there was no Federal Army, no judicial system, and a lack of national compulsive power over states. It was a weak alliance, it needed approval from 9 of all 13 states to be amended, no executive or judicial branch, only a one house congress where every state had 1 vote. It couldnt regulate interstate trade, impose taxes, or coin money. They also had no leader to run the country.

Wednesday, August 21, 2019

Corporate Parenting Essay Example for Free

Corporate Parenting Essay Children’s homes operate under the directorate of â€Å"Corporate Parenting† meaning that when a child is placed in the children’s home on an interim or full care order or even if the child is voluntary placed by the trust ( once they become looked after), the staff within the home have responsibilities which include safeguarding the young persons welfare when their needs are being considered by the courts and also taking into consideration when making decisions the views of the child, parent and any other person involved with the young person. As a corporate parent the child’s religious identity, racial origin, cultural and linguistic background all need to be considered, also your role includes preparing the young person for life when they will no longer be â€Å"looked after† by the trust. Staff in residential care have a legal responsibility to each young person as directed by the â€Å"Children’s Order (NI) 1995. Under the directorate of corporate parenting social care staff with in children’s homes are obliged to look after and treat any young person as any other good parent would look after their own child. Social workers in residential care strive to involve the child’s parent in the decision making process of the child’s life; and work in partnership with parents, however there can be occasions where a parent does not act in the best interests of their child and the trust as a corporate parent can limit a decision made by the parent. Professional Carer Professional Carers can be employed within the statutory, voluntary and private sector, again professional carers (i.e) foster parents/ fee paid carers or emergency foster carers have a responsibility to provide a duty of care to safeguard and protect the welfare and well being of each child placed with them. Professional carers are also governed by policies and procedures and legislation which are a requirement by law.

Tuesday, August 20, 2019

H.264 Video Streaming System on Embedded Platform

H.264 Video Streaming System on Embedded Platform ABSTRACT The adoption of technological products like digital television and video conferencing has made video streaming an active research area. This report presents the integration of a video streamer module into a baseline H.264/AVC encoder running a TMSDM6446EVM embedded platform. The main objective of this project is to achieve real-time streaming of the baseline H.264/AVC video over a local area network (LAN) which is a part of the surveillance video system. The encoding of baseline H.264/AVC and the hardware components of the platform are first discussed. Various streaming protocols are studied in order to implement the video streamer on the DM6446 board. The multi-threaded application encoder program is used to encode raw video frames into H.264/AVC format onto a file. For the video streaming, open source Live555 MediaServer was used to stream video data to a remote VLC client over LAN. Initially, file streaming was implemented from PC to PC. Upon successfully implementation on PC, the video streamer was ported to the board. The steps involved in porting the Live555 application were also described in the report. Both unicast and multicast file streaming were implemented in the video streamer. Due to the problems of file streaming, the live streaming approach was adopted. Several methodologies were discussed in integrating the video streamer and the encoder program. Modification was made both the encoder program and the Live555 application to achieve live streaming of H.264/AVC video. Results of both file and live streaming will be shown in this report. The implemented video streamer module will be used as a base module of the video surveillance system. Chapter 1: Introduction 1.1. Background Significant breakthroughs have been made over the last few years in the area of digital video compression technologies. As such applications making use of these technologies have also become prevalent and continue to be of active research topics today. For example, digital television and video conferencing are some of the applications that are now commonly encountered in our daily lives. One application of interest here is to make use of the technologies to implement a video camera surveillance system which can enhance the security of consumers business and home environment. In typical surveillance systems, the captured video is sent over a cable networks to be monitored and stored at remote stations. As the captured raw video contains large amount of data, it will be of advantage to first compress the data by using a compression technique before it is transferred over the network. One such compression technique that is suitable for this type of application is the H.264 coding standard. H.264 coding is better than the other coding technique for video streaming as it is more robust to data losses and coding efficiency, which are important factors when streaming is performed over a shared Local Area Network. As there is an increasing acceptance of H.264 coding and the availability of high computing power embedded systems, digital video surveillance system based on H.264 on embedded platform is hence a feasible and a potentially more cost-effective system. Implementing a H.264 video streaming system on an embedded platform is a logical extension of video surveillance systems which are still typical implemented using high computing power stations (e.g. PC). In a embedded version, a Digital Signal Processor (DSP) forms the core of the embedded system and executes the intensive signal processing algorithm. Current embedded systems typical also include network features which enable the implementation of data streaming applications. To facilitate data streaming, a number of network protocol standards have also being defined, and are currently used for digital video applications. 1.2. Objective and Scope The objective of this final year project is to implement a video surveillance system based on the H.264 coding standard running on an embedded platform. Such a system contains extensive scopes of functionalities and would require extensive amount of development time if implemented from scratch. Hence this project is to focus on the data streaming aspect of a video surveillance system. After some initial investigation and experimentation, it is decided to confine the main scope of the project to developing a live streaming H.264 based video system running on a DM6446 EVM development platform. The breakdown of the work to be progressive performed are then identified as follows: 1. Familiarization of open source live555 streaming media server Due to the complexity of implementing the various standard protocols needed for multimedia streaming, the live555 media server program is used as a base to implement the streaming of the H.264.based video data. 2. Streaming of stored H.264 file over the network The live555 is then modified to support streaming of raw encoded H.264 file from the DM6446 EVM board over the network. Knowledge of H.264 coding standard is necessary in order to parse the file stream before streaming over the network. 3. Modifying a demo version of an encoder program and integrating it together with live555 to achieve live streaming The demo encoder was modified to send encoded video data to the Live555 program which would do the necessary packetization to be streamed over the network. Since data is passed from one process to another, various inter-process communication techniques were studied and used in this project. 1.3. Resources The resources used for this project are as follows: 1. DM6446 (DaVinciâ„ ¢) Evaluation Module 2. SWANN C500 Professional CCTV Camera Solution 400 TV Lines CCD Color Camera 3. LCD Display 4. IR Remote Control 5. TI Davinci demo version of MontaVista Linux Pro v4.0 6. A Personal Workstation with Centos v5.0 7. VLC player v.0.9.8a as client 8. Open source live555 program (downloaded from www.live555.com) The system setup of this project is shown below: 1.4. Report Organization This report consists of 7 chapters. Chapter 1 introduces the motivation behind embedded video streaming system and defines the scope of the project. Chapter 2 illustrates the video literature review of the H.264/AVC video coding technique and the various streaming protocols which are to be implemented in the project. Chapter 3 explains the hardware literature review of the platform being used in the project. The architecture, memory management, inter-process communication and the software tools are also discussed in this chapter. Chapter 4 explains the execution of the encoder program of the DM6446EVM board. The interaction of the various threads in this multi-threaded application is also discussed to fully understand the encoder program. Chapter 5 gives an overview of the Live555 MediaServer which is used as a base to implement the video streamer module on the board. Adding support to unicast and multicast streaming, porting of live555 to the board and receiving video stream on remote VCL client are explained in this chapter. Chapter 6 explains the limitations of file streaming and moving towards live streaming system. Various integration methodologies and modification to both encoder program and live555 program are shown as well. Chapters 7 summarize the implementation results of file and live streaming, analysis the performance of these results. Chapter 8 gives the conclusion by stating the current limitation and problems, scope for future implementation. Chapter 2: Video Literature Review 2.1. H.264/AVC Video Codec Overview H.264 is the most advanced and latest video coding technique. Although there are many video coding schemes like H.26x and MPEG, H.264/AVC made many improvements and tools for coding efficiency and error resiliency. This chapter briefly will discuss the network aspect of the video coding technique. It will also cover error resiliency needed for transmission of video data over the network. For a more detailed explanation of the H.264/AVC, refer to appendix A. 2.1.1. Network Abstraction Layer (NAL) The aim of the NAL is to ensure that the data coming from the VCL layer is â€Å"network worthy† so that the data can be used for numerous systems. NAL facilitates the mapping of H.264/AVC VCL data for different transport layers such as: * RTP/IP real-time streaming over wired and wireless mediums * Different storage file formats such as MP4, MMS, AVI and etc. The concepts of NAL and error robustness techniques of the H.264/AVC will be discussed in the following parts of the report. NAL Units The encoded data from the VCL are packed into NAL units. A NAL unit represents a packet which makes up of a certain number of bytes. The first byte of the NAL unit is called the header byte which indicates the data type of the NAL unit. The remaining bytes make up the payload data of the NAL unit. The NAL unit structure allows provision for different transport systems namely packet-oriented and bit stream-oriented. To cater for bit stream-oriented transport systems like MPEG-2, the NAL units are organized into byte stream format. These units are prefixed by a specific start code prefix of three bytes which is namely 0x000001. The start code prefix indicates and the start of each NAL units and hence defining the boundaries of the units. For packet-oriented transport systems, the encoded video data are transported via packets defined by transport protocols. Hence, the boundaries of the NAL units are known without having to include start code prefix byte. The details of packetization of NAL units will be discussed in later sections of the report. NAL units are further categorized into two types: * VCL unit: comprises of encoded video data  · Non-VCL unit: comprises of additional information like parameter sets which is the important header information. Also contains supplementary enhancement information (SEI) which contains the timing information and other data which increases the usability of the decoded video signal. Access units A group of NAL units which adhere to a certain form is called a access unit. When one access unit is decoded, one decoded picture is formed. In the table 1 below, the functions of the NAL units derived from the access units are explained. Data/Error robustness techniques H.264/AVC has several techniques to mitigate error/data loss which is an essential quality when it comes to streaming applications. The techniques are as follows:  · Parameter sets: contains information that is being applied to large number of VCL NAL units. It comprises of two kinds of parameter sets: Sequence Parameter set (SPS) : Information pertaining to sequence of encoded picture Picture Parameter Set (PPS) : Information pertaining to one or more individual pictures The above mentioned parameters hardly changes and hence it need not be transmitted repeatedly and saves overhead. The parameter sets can be sent â€Å"in-band† which is carried in the same channel as the VCL NAL units. It can also be sent â€Å"out-of-band† using reliable transport protocol. Therefore, it enhances the resiliency towards data and error loss.  · Flexible Macroblock Ordering (FMO) FMO maps the macroblocks to different slice groups. In the event of any slice group loss, missing data is masked up by interpolating from the other slice groups.  · Redundancy Slices (RS) Redundant representation of the picture can be stored in the redundant slices. If the loss of the original slice occurs, the decoder can make use of the redundant slices to recover the original slice. These techniques introduced in the H.264/AVC makes the codec more robust and resilient towards data and error loss. 2.1.2. Profiles and Levels A profile of a codec is defined as the set of features identified to meet a certain specifications of intended applications For the H.264/AVC codec, it is defined as a set of features identified to generate a conforming bit stream. A level is imposes restrictions on some key parameters of the bit stream. In H.264/AVC, there are three profiles namely: Baseline, Main and Extended. 5 shows the relationship between these profiles. The Baseline profile is most likely to be used by network cameras and encoders as it requires limited computing resources. It is quite ideal to make use of this profile to support real-time streaming applications in a embedded platform. 2.2. Overview of Video Streaming In previous systems, accessing video data across network exploit the ‘download and play approach. In this approach, the client had to wait until the whole video data is downloaded to the media player before play out begins. To combat the long initial play out delay, the concept of streaming was introduced. Streaming allows the client to play out the earlier part of the video data whilst still transferring the remaining part of the video data. The major advantage of the streaming concept is that the video data need not be stored in the clients computer as compared to the traditional ‘download and play approach. This reduces the long initial play out delay experienced by the client. Streaming adopts the traditional client/server model. The client connects to the listening server and request for video data. The server sends video data over to the client for play out of video data. 2.2.1. Types of Streaming There are three different types of streaming video data. They are pre-recorded/ file streaming, live/real-time streaming and interactive streaming. * Pre-recorded/live streaming: The encoded video is stored into a file and the system streams the file over the network. A major overhead is that there is a long initial play out delay (10-15s) experienced by the client. * Live/real-time streaming: The encoded video is streamed over the network directly without being stored into a file. The initial play out delay reduces. Consideration must be taken to ensure that play out rate does not exceed sending rate which may result in jerky the picture. On the other hand, if the sending rate is too slow, the packets arriving at the client may be dropped, causing in a freezing the picture. The timing requirement for the end-to-end delay is more stringent in this scenario. * Interactive streaming: Like live streaming, the video is streamed directly over the network. It responds to users control input such as rewind, pause, stop, play and forward the particular video stream. The system should respond in accordance to those inputs by the user. In this project, both pre-recorded and live streaming are implemented. Some functionality of interactive streaming controls like stop and play are also part of the system. 2.2.2. Video Streaming System modules Video Source The intent of the video source is to capture the raw video sequence. The CCTV camera is used as the video source in this project. Most cameras are of analogue inputs and these inputs are connected to the encoding station via video connections. This project makes use of only one video source due to the limitation of the video connections on the encoding station. The raw video sequence is then passed onto the encoding station. Encoding Station The aim of the encoding station digitized and encodes the raw video sequence into the desired format. In the actual system, the encoding is done by the DM6446 board into the H.264/AVC format. Since the hardware encoding is CPU intensive, this forms the bottleneck of the whole streaming system. The H.264 video is passed onto the video streamer server module of the system. Video Streaming and WebServer The role of the video streaming server is to packetize the H.264/AVC to be streamed over the network. It serves the requests from individual clients. It needs to support the total bandwidth requirements of the particular video stream requested by clients. WebServer offers a URL link which connects to the video streaming server. For this project, the video streaming server module is embedded inside DM6446 board and it is serves every individual clients requests. Video Player The video player acts a client connecting to and requesting video data from the video streaming server. Once the video data is received, the video player buffers the data for a while and then begins play out of data. The video player used for this project is the VideoLAN (VLC) Player. It has the relevant H.264/AVC codec so that it can decode and play the H264/AVC video data. 2.2.3. Unicast VS Multicast There are two key delivery techniques employed by streaming media distribution. Unicast transmission is the sending of data to one particular network destination host over a packet switched network. It establishes two way point-to-point connection between client and server. The client communicates directly with the server via this connection. The drawback is that every connection receives a separate video stream which uses up network bandwidth rapidly. Multicast transmission is the sending of only one copy of data via the network so that many clients can receive simultaneously. In video streaming, it is more cost effective to send single copy of video data over the network so as to conserve the network bandwidth. Since multicast is not connection oriented, the clients cannot control the streams that they can receive. In this project, unicast transmission is used to stream encoded video over the network. The client connects directly to the DM6446 board where it gets the encoded video data. The project can easily be extended to multicast transmission. 2.3. Streaming Protocols When streaming video content over a network, a number of network protocols are used. These protocols are well defined by the Internet Engineering Task Force (IETF) and the Internet Society (IS) and documented in Request for Comments (RFC) documents. These standards are adopted by many developers today. In this project, the same standards are also employed in order to successfully stream H.264/AVC content over a simple Local Area Network (LAN). The following sections will discuss about the various protocols that are studied in the course of this project. 2.3.1. Real-Time Streaming Protocol (RTSP) The most commonly used application layer protocol is RTSP. RTSP acts a control protocol to media streaming servers. It establishes connection between two end points of the system and control media sessions. Clients issue VCR-like commands like play and pause to facilitate the control of real-time playback of media streams from the servers. However, this protocol is not involved in the transport of the media stream over the network. For this project, RTSP version 1.0 is used. RTSP States Like the Hyper Text Transfer Protocol (HTTP), it contains several methods. They are OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, RECORD and TEARDOWN. These commands are sent by using the RTSP URL. The default port number used in this protocol is 554. An example of such as URL is: rtsp://  · OPTIONS: An OPTIONS request returns the types of request that the server will accept. An example of the request is: OPTIONS rtsp://155.69.148.136:554/test.264 RTSP/1.0 CSeq: 1rn User-agent: VLC media Player The CSeq parameter keeps track of the number of request send to the server and it is incremented every time a new request is issued. The User-agent refers to the client making the request. * DESCRIBE: This method gets the presentation or the media object identified in the request URL from the server. An example of such a request: DESCRIBE rtsp://155.69.148.138:554/test.264 RTSP/1.0 CSeq: 2rn Accept: application/sdprn User agent: VLC media Player The Accept header is used to describe the formats understood by the client. All the initialization of the media resource must be present in the DESCRIBE method that it describes.  · SETUP: This method will specify the mode of transport mechanism to be used for the media stream. A typical example is: SETUP rtsp://155.69.148.138:554/test.264 RTSP/1.0 CSeq: 3rn Transport: RTP/AVP; unicast; client_port = 1200-1201 User agent: VLC media Player The Transport header specifies the transport mechanism to be used. In this case, real-time transport protocol is used in a unicast manner. The relevant client port number is also reflected and it is selected randomly by the server. Since RTSP is a stateful protocol, a session is created upon successful acknowledgement to this method.  · PLAY: This method request the server to start sending the data via the transport mechanism stated in the SETUP method. The URL is the same as the other methods except for: Session: 6 Range: npt= 0.000- rn The Session header specifies the unique session id. This is important as server may establish various sessions and this keep tracks of them. The Range header positions play time to the beginning and plays till the end of the range. * PAUSE: This method informs the server to pause sending of the media stream. Once the PAUSE request is sent, the range header will capture the position at which the media stream is paused. When a PLAY request is sent again, the client will resume playing from the current position of the media stream as specified in the range header. RSTP Status Codes Whenever the client sends a request message to the server, the server forms a equivalent response message to be sent to the client. The response codes are similar to HTTP as they are both in ASCII text. They are as follows: 200: OK 301: Redirection 405: Method Not Allowed 451: Parameter Not Understood 454: Session Not Found 457: Invalid Range 461: Unsupported Transport 462: Destination Unreachable These are some of the RTSP status codes. There are many others but the codes mentioned above are of importance in the context of this project. 2.3.2. Real-time Transport Protocol (RTP) RTP is a defined packet structure which is used for transporting media stream over the network. It is a transport layer protocol but developers view it as a application layer protocol stack. This protocol facilitates jitter compensation and detection of incorrect sequence arrival of data which is common for transmission over IP network. For the transmission of media data over the network, it is important that packets arrive in a timely manner as it is loss tolerant but not delay tolerant. Due to the high latency of Transmission Control Protocol in establishing connections, RTP is often built on top of the User Datagram Protocol (UDP). RTP also supports multicast transmission of data. RTP is also a stateful protocol as a session is established before data can be packed into the RTP packet and sent over the network. The session contains the IP address of the destination and port number of the RTP which is usually an even number. The following section will explain about the packet structure of RTP which is used for transmission. RTP Packet Structure The below shows a RTP packet header which is appended in front of the media data.s The minimum size of the RTP header is 12 bytes.. Optional extension information may be present after the header information. The fields of the header are:  · V: (2 bits) to indicate the version number of the protocol. Version used in this project is 2.  · P (Padding): (1 bit) to indicate if there padding which can be used for encryption algorithm  · X (Extension): (1 bit) to indicate if there is extension information between header and payload data.  · CC (CSRC Count) : (4 bits) indicates the number of CSRC identifiers  · M (Marker): (1 bit) used by application to indicate data has specific relevance in the perspective of the application. The setting for M bit marks the end of video data in this project  · PT (Payload Type): (7 bits) to indicate the type of payload data carried by the packet. H.264 is used for this project  · Sequence number: (16 bits) incremented by one for every RTP packet. It is used to detect packet loss and out of sequence packet arrival. Based on this information, application can take appropriate action to correct them.  · Time Stamp: (32 bits) receivers use this information to play samples at correct intervals of time. Each stream has independent time stamps.  · SSRC: (32 bits) it unique identifies source of the stream.  · CSRC: sources of a stream from different sources are enumerated according to its source IDs. This project does not involve the use of Extension field in the packet header and hence will not be explained in this report. Once this header information is appended to the payload data, the packet is sent over the network to the client to be played. The table below summarizes the payload types of RTP and highlighted region is of interest in this project. Table 2: Payload Types of RTP Packets 2.3.3. RTP Control Protocol (RTCP) RTCP is a sister protocol which is used in conjunction with the RTP. It provides out-of-band statistical and control information to the RTP session. This provides certain Quality of Service (QoS) for transmission of video data over the network. The primary functions of the RTCP are: * To gather statistical information about the quality aspect of the media stream during a RTP session. This data is sent to the session media source and its participants. The source can exploit this information for adaptive media encoding and detect transmission errors. * It provides canonical end point identifiers (CNAME) to all its session participants. It allows unique identification of end points across different application instances and serves as a third party monitoring tool. * It also sends RTCP reports to all its session participants. By doing so, the traffic bandwidth increases proportionally. In order to avoid congestion, RTCP has bandwidth management techniques to only use 5% of the total session bandwidth. RTCP statistical data is sent odd numbered ports. For instance, if RTP port number is 196, then RTCP will use the 197 as its port number. There is no default port number assigned to RTCP. RTCP Message Types RTCP sends several types of packets different from RTP packets. They are sender report, receiver report, source description and bye.  · Sender Report (SR): Sent periodically by senders to report the transmission and reception statistics of RTP packets sent in a period of time. It also includes the senders SSRC and senders packet count information. The timestamp of the RTP packet is also sent to allow the receiver to synchronize the RTP packets. The bandwidth required for SR is 25% of RTCP bandwidth.  · Receiver Report (RR): It reports the QoS to other receivers and senders. Information like highest sequence number received, inter arrival jitter of RTP packets and fraction of packets loss further explains the QoS of the transmitted media streams. The bandwidth required for RR is 75% of the RTCP bandwidth.  · Source Description (SDES): Sends the CNAME to its session participants. Additional information like name, address of the owner of the source can also be sent.  · End of Participation (BYE): The source sends a BYE message to indicate that it is shutting down the stream. It serves as an announcement that a particular end point is leaving the conference. Further RTCP Consideration This protocol is important to ensure that QoS standards are achieved. The acceptable frequencies of these reports are less than one minute. In major application, the frequency may increase as RTCP bandwidth control mechanism. Then, the statistical reporting on the quality of the media stream becomes inaccurate. Since there are no long delays introduced between the reports in this project, the RTCP is adopted to incorporate a certain level of QoS on streaming H.264/AVC video over embedded platform. 2.3.4. Session Description Protocol (SDP) The Session Description Protocol is a standard to describe streaming media initialization parameters. These initializations describe the sessions for session announcement, session invitation and parameter negotiation. This protocol can be used together with RTSP. In the previous sections of this chapter, SDP is used in the DESCRIBE state of RTSP to get sessions media initialization parameters. SDP is scalable to include different media types and formats. SDP Syntax The session is described by attribute/value pairs. The syntax of SDP are summarized in the below. In this project, the use of SDP is important in streaming as the client is VLC Media Player. If the streaming is done via RTSP, then VLC expects a sdp description from the server in order to setup the session and facilitate the playback of the streaming media. Chapter 3: Hardware Literature Review 3.1. Introduction to Texas Instrument DM6446EVM DavinciTM The development of this project based on the DM6446EVM board. It is necessary to understand the hardware and software aspects of this board. The DM6446 board has a ARM processor operating at a clock speed up to 300MHz and a C64x Digital Signal Processor operating at a clock speed of up to 600MHz. 3.1.1. Key Features of DM6446 The key features that are shown in the above are: * 1 video port which supports composite of S video * 4 video DAC outputs: component, RGB, composite * 256 MB of DDR2 DRAM * UART, Media Card interface (SD, xD, SM, MS ,MMC Cards) * 16 MB of non-volatile Flash Memory, 64 MB NAND Flash, 4 MB SRAM * USB2 interface * 10/100 MBS Ethernet interface * Configurable boot load options * IR Remote Interface, real time clock via MSP430 3.1.2. DM6446EVM Architecture The architecture of the DM6446 board is organized into several subsystems. By knowing the architecture of the DM6446, the developer can then design and built his application module on the boards underlining architecture. The shows that DM6446 has three subsystems which are connected to the underlying hardware peripherals. This provides a decoupled architecture which allows the developers to implement his applications on a particular subsystem without having to modify the other subsystems. Some of subsystems are discussed in the next sections. ARM Subsystem The ARM subsystem is responsible for the master control of the DM6446 board. It handles the system-level initializations, configurations, user interface, connectivity functions and control of DSP subsystems. The ARM has a larger program memory space and better context switching capabilities and hence it is more suited to handle complex and multi tasks of the system. DSP Subsystem The DSP subsystem is mainly the encoding the raw captured video frames into the desired format. It performs several number crunching operations in order to achieve the desired compression technique. It works together with the Video Imaging Coprocessor to compress the video frames. Video Imaging Coprocessor (VICP) The VICP is a signal processing library which contains various software algorithms that execute on VICP hardware accelerator. It helps the DSP by taking over computation of varied intensive tasks. Since hardware implementation of number cru H.264 Video Streaming System on Embedded Platform H.264 Video Streaming System on Embedded Platform ABSTRACT The adoption of technological products like digital television and video conferencing has made video streaming an active research area. This report presents the integration of a video streamer module into a baseline H.264/AVC encoder running a TMSDM6446EVM embedded platform. The main objective of this project is to achieve real-time streaming of the baseline H.264/AVC video over a local area network (LAN) which is a part of the surveillance video system. The encoding of baseline H.264/AVC and the hardware components of the platform are first discussed. Various streaming protocols are studied in order to implement the video streamer on the DM6446 board. The multi-threaded application encoder program is used to encode raw video frames into H.264/AVC format onto a file. For the video streaming, open source Live555 MediaServer was used to stream video data to a remote VLC client over LAN. Initially, file streaming was implemented from PC to PC. Upon successfully implementation on PC, the video streamer was ported to the board. The steps involved in porting the Live555 application were also described in the report. Both unicast and multicast file streaming were implemented in the video streamer. Due to the problems of file streaming, the live streaming approach was adopted. Several methodologies were discussed in integrating the video streamer and the encoder program. Modification was made both the encoder program and the Live555 application to achieve live streaming of H.264/AVC video. Results of both file and live streaming will be shown in this report. The implemented video streamer module will be used as a base module of the video surveillance system. Chapter 1: Introduction 1.1. Background Significant breakthroughs have been made over the last few years in the area of digital video compression technologies. As such applications making use of these technologies have also become prevalent and continue to be of active research topics today. For example, digital television and video conferencing are some of the applications that are now commonly encountered in our daily lives. One application of interest here is to make use of the technologies to implement a video camera surveillance system which can enhance the security of consumers business and home environment. In typical surveillance systems, the captured video is sent over a cable networks to be monitored and stored at remote stations. As the captured raw video contains large amount of data, it will be of advantage to first compress the data by using a compression technique before it is transferred over the network. One such compression technique that is suitable for this type of application is the H.264 coding standard. H.264 coding is better than the other coding technique for video streaming as it is more robust to data losses and coding efficiency, which are important factors when streaming is performed over a shared Local Area Network. As there is an increasing acceptance of H.264 coding and the availability of high computing power embedded systems, digital video surveillance system based on H.264 on embedded platform is hence a feasible and a potentially more cost-effective system. Implementing a H.264 video streaming system on an embedded platform is a logical extension of video surveillance systems which are still typical implemented using high computing power stations (e.g. PC). In a embedded version, a Digital Signal Processor (DSP) forms the core of the embedded system and executes the intensive signal processing algorithm. Current embedded systems typical also include network features which enable the implementation of data streaming applications. To facilitate data streaming, a number of network protocol standards have also being defined, and are currently used for digital video applications. 1.2. Objective and Scope The objective of this final year project is to implement a video surveillance system based on the H.264 coding standard running on an embedded platform. Such a system contains extensive scopes of functionalities and would require extensive amount of development time if implemented from scratch. Hence this project is to focus on the data streaming aspect of a video surveillance system. After some initial investigation and experimentation, it is decided to confine the main scope of the project to developing a live streaming H.264 based video system running on a DM6446 EVM development platform. The breakdown of the work to be progressive performed are then identified as follows: 1. Familiarization of open source live555 streaming media server Due to the complexity of implementing the various standard protocols needed for multimedia streaming, the live555 media server program is used as a base to implement the streaming of the H.264.based video data. 2. Streaming of stored H.264 file over the network The live555 is then modified to support streaming of raw encoded H.264 file from the DM6446 EVM board over the network. Knowledge of H.264 coding standard is necessary in order to parse the file stream before streaming over the network. 3. Modifying a demo version of an encoder program and integrating it together with live555 to achieve live streaming The demo encoder was modified to send encoded video data to the Live555 program which would do the necessary packetization to be streamed over the network. Since data is passed from one process to another, various inter-process communication techniques were studied and used in this project. 1.3. Resources The resources used for this project are as follows: 1. DM6446 (DaVinciâ„ ¢) Evaluation Module 2. SWANN C500 Professional CCTV Camera Solution 400 TV Lines CCD Color Camera 3. LCD Display 4. IR Remote Control 5. TI Davinci demo version of MontaVista Linux Pro v4.0 6. A Personal Workstation with Centos v5.0 7. VLC player v.0.9.8a as client 8. Open source live555 program (downloaded from www.live555.com) The system setup of this project is shown below: 1.4. Report Organization This report consists of 7 chapters. Chapter 1 introduces the motivation behind embedded video streaming system and defines the scope of the project. Chapter 2 illustrates the video literature review of the H.264/AVC video coding technique and the various streaming protocols which are to be implemented in the project. Chapter 3 explains the hardware literature review of the platform being used in the project. The architecture, memory management, inter-process communication and the software tools are also discussed in this chapter. Chapter 4 explains the execution of the encoder program of the DM6446EVM board. The interaction of the various threads in this multi-threaded application is also discussed to fully understand the encoder program. Chapter 5 gives an overview of the Live555 MediaServer which is used as a base to implement the video streamer module on the board. Adding support to unicast and multicast streaming, porting of live555 to the board and receiving video stream on remote VCL client are explained in this chapter. Chapter 6 explains the limitations of file streaming and moving towards live streaming system. Various integration methodologies and modification to both encoder program and live555 program are shown as well. Chapters 7 summarize the implementation results of file and live streaming, analysis the performance of these results. Chapter 8 gives the conclusion by stating the current limitation and problems, scope for future implementation. Chapter 2: Video Literature Review 2.1. H.264/AVC Video Codec Overview H.264 is the most advanced and latest video coding technique. Although there are many video coding schemes like H.26x and MPEG, H.264/AVC made many improvements and tools for coding efficiency and error resiliency. This chapter briefly will discuss the network aspect of the video coding technique. It will also cover error resiliency needed for transmission of video data over the network. For a more detailed explanation of the H.264/AVC, refer to appendix A. 2.1.1. Network Abstraction Layer (NAL) The aim of the NAL is to ensure that the data coming from the VCL layer is â€Å"network worthy† so that the data can be used for numerous systems. NAL facilitates the mapping of H.264/AVC VCL data for different transport layers such as: * RTP/IP real-time streaming over wired and wireless mediums * Different storage file formats such as MP4, MMS, AVI and etc. The concepts of NAL and error robustness techniques of the H.264/AVC will be discussed in the following parts of the report. NAL Units The encoded data from the VCL are packed into NAL units. A NAL unit represents a packet which makes up of a certain number of bytes. The first byte of the NAL unit is called the header byte which indicates the data type of the NAL unit. The remaining bytes make up the payload data of the NAL unit. The NAL unit structure allows provision for different transport systems namely packet-oriented and bit stream-oriented. To cater for bit stream-oriented transport systems like MPEG-2, the NAL units are organized into byte stream format. These units are prefixed by a specific start code prefix of three bytes which is namely 0x000001. The start code prefix indicates and the start of each NAL units and hence defining the boundaries of the units. For packet-oriented transport systems, the encoded video data are transported via packets defined by transport protocols. Hence, the boundaries of the NAL units are known without having to include start code prefix byte. The details of packetization of NAL units will be discussed in later sections of the report. NAL units are further categorized into two types: * VCL unit: comprises of encoded video data  · Non-VCL unit: comprises of additional information like parameter sets which is the important header information. Also contains supplementary enhancement information (SEI) which contains the timing information and other data which increases the usability of the decoded video signal. Access units A group of NAL units which adhere to a certain form is called a access unit. When one access unit is decoded, one decoded picture is formed. In the table 1 below, the functions of the NAL units derived from the access units are explained. Data/Error robustness techniques H.264/AVC has several techniques to mitigate error/data loss which is an essential quality when it comes to streaming applications. The techniques are as follows:  · Parameter sets: contains information that is being applied to large number of VCL NAL units. It comprises of two kinds of parameter sets: Sequence Parameter set (SPS) : Information pertaining to sequence of encoded picture Picture Parameter Set (PPS) : Information pertaining to one or more individual pictures The above mentioned parameters hardly changes and hence it need not be transmitted repeatedly and saves overhead. The parameter sets can be sent â€Å"in-band† which is carried in the same channel as the VCL NAL units. It can also be sent â€Å"out-of-band† using reliable transport protocol. Therefore, it enhances the resiliency towards data and error loss.  · Flexible Macroblock Ordering (FMO) FMO maps the macroblocks to different slice groups. In the event of any slice group loss, missing data is masked up by interpolating from the other slice groups.  · Redundancy Slices (RS) Redundant representation of the picture can be stored in the redundant slices. If the loss of the original slice occurs, the decoder can make use of the redundant slices to recover the original slice. These techniques introduced in the H.264/AVC makes the codec more robust and resilient towards data and error loss. 2.1.2. Profiles and Levels A profile of a codec is defined as the set of features identified to meet a certain specifications of intended applications For the H.264/AVC codec, it is defined as a set of features identified to generate a conforming bit stream. A level is imposes restrictions on some key parameters of the bit stream. In H.264/AVC, there are three profiles namely: Baseline, Main and Extended. 5 shows the relationship between these profiles. The Baseline profile is most likely to be used by network cameras and encoders as it requires limited computing resources. It is quite ideal to make use of this profile to support real-time streaming applications in a embedded platform. 2.2. Overview of Video Streaming In previous systems, accessing video data across network exploit the ‘download and play approach. In this approach, the client had to wait until the whole video data is downloaded to the media player before play out begins. To combat the long initial play out delay, the concept of streaming was introduced. Streaming allows the client to play out the earlier part of the video data whilst still transferring the remaining part of the video data. The major advantage of the streaming concept is that the video data need not be stored in the clients computer as compared to the traditional ‘download and play approach. This reduces the long initial play out delay experienced by the client. Streaming adopts the traditional client/server model. The client connects to the listening server and request for video data. The server sends video data over to the client for play out of video data. 2.2.1. Types of Streaming There are three different types of streaming video data. They are pre-recorded/ file streaming, live/real-time streaming and interactive streaming. * Pre-recorded/live streaming: The encoded video is stored into a file and the system streams the file over the network. A major overhead is that there is a long initial play out delay (10-15s) experienced by the client. * Live/real-time streaming: The encoded video is streamed over the network directly without being stored into a file. The initial play out delay reduces. Consideration must be taken to ensure that play out rate does not exceed sending rate which may result in jerky the picture. On the other hand, if the sending rate is too slow, the packets arriving at the client may be dropped, causing in a freezing the picture. The timing requirement for the end-to-end delay is more stringent in this scenario. * Interactive streaming: Like live streaming, the video is streamed directly over the network. It responds to users control input such as rewind, pause, stop, play and forward the particular video stream. The system should respond in accordance to those inputs by the user. In this project, both pre-recorded and live streaming are implemented. Some functionality of interactive streaming controls like stop and play are also part of the system. 2.2.2. Video Streaming System modules Video Source The intent of the video source is to capture the raw video sequence. The CCTV camera is used as the video source in this project. Most cameras are of analogue inputs and these inputs are connected to the encoding station via video connections. This project makes use of only one video source due to the limitation of the video connections on the encoding station. The raw video sequence is then passed onto the encoding station. Encoding Station The aim of the encoding station digitized and encodes the raw video sequence into the desired format. In the actual system, the encoding is done by the DM6446 board into the H.264/AVC format. Since the hardware encoding is CPU intensive, this forms the bottleneck of the whole streaming system. The H.264 video is passed onto the video streamer server module of the system. Video Streaming and WebServer The role of the video streaming server is to packetize the H.264/AVC to be streamed over the network. It serves the requests from individual clients. It needs to support the total bandwidth requirements of the particular video stream requested by clients. WebServer offers a URL link which connects to the video streaming server. For this project, the video streaming server module is embedded inside DM6446 board and it is serves every individual clients requests. Video Player The video player acts a client connecting to and requesting video data from the video streaming server. Once the video data is received, the video player buffers the data for a while and then begins play out of data. The video player used for this project is the VideoLAN (VLC) Player. It has the relevant H.264/AVC codec so that it can decode and play the H264/AVC video data. 2.2.3. Unicast VS Multicast There are two key delivery techniques employed by streaming media distribution. Unicast transmission is the sending of data to one particular network destination host over a packet switched network. It establishes two way point-to-point connection between client and server. The client communicates directly with the server via this connection. The drawback is that every connection receives a separate video stream which uses up network bandwidth rapidly. Multicast transmission is the sending of only one copy of data via the network so that many clients can receive simultaneously. In video streaming, it is more cost effective to send single copy of video data over the network so as to conserve the network bandwidth. Since multicast is not connection oriented, the clients cannot control the streams that they can receive. In this project, unicast transmission is used to stream encoded video over the network. The client connects directly to the DM6446 board where it gets the encoded video data. The project can easily be extended to multicast transmission. 2.3. Streaming Protocols When streaming video content over a network, a number of network protocols are used. These protocols are well defined by the Internet Engineering Task Force (IETF) and the Internet Society (IS) and documented in Request for Comments (RFC) documents. These standards are adopted by many developers today. In this project, the same standards are also employed in order to successfully stream H.264/AVC content over a simple Local Area Network (LAN). The following sections will discuss about the various protocols that are studied in the course of this project. 2.3.1. Real-Time Streaming Protocol (RTSP) The most commonly used application layer protocol is RTSP. RTSP acts a control protocol to media streaming servers. It establishes connection between two end points of the system and control media sessions. Clients issue VCR-like commands like play and pause to facilitate the control of real-time playback of media streams from the servers. However, this protocol is not involved in the transport of the media stream over the network. For this project, RTSP version 1.0 is used. RTSP States Like the Hyper Text Transfer Protocol (HTTP), it contains several methods. They are OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, RECORD and TEARDOWN. These commands are sent by using the RTSP URL. The default port number used in this protocol is 554. An example of such as URL is: rtsp://  · OPTIONS: An OPTIONS request returns the types of request that the server will accept. An example of the request is: OPTIONS rtsp://155.69.148.136:554/test.264 RTSP/1.0 CSeq: 1rn User-agent: VLC media Player The CSeq parameter keeps track of the number of request send to the server and it is incremented every time a new request is issued. The User-agent refers to the client making the request. * DESCRIBE: This method gets the presentation or the media object identified in the request URL from the server. An example of such a request: DESCRIBE rtsp://155.69.148.138:554/test.264 RTSP/1.0 CSeq: 2rn Accept: application/sdprn User agent: VLC media Player The Accept header is used to describe the formats understood by the client. All the initialization of the media resource must be present in the DESCRIBE method that it describes.  · SETUP: This method will specify the mode of transport mechanism to be used for the media stream. A typical example is: SETUP rtsp://155.69.148.138:554/test.264 RTSP/1.0 CSeq: 3rn Transport: RTP/AVP; unicast; client_port = 1200-1201 User agent: VLC media Player The Transport header specifies the transport mechanism to be used. In this case, real-time transport protocol is used in a unicast manner. The relevant client port number is also reflected and it is selected randomly by the server. Since RTSP is a stateful protocol, a session is created upon successful acknowledgement to this method.  · PLAY: This method request the server to start sending the data via the transport mechanism stated in the SETUP method. The URL is the same as the other methods except for: Session: 6 Range: npt= 0.000- rn The Session header specifies the unique session id. This is important as server may establish various sessions and this keep tracks of them. The Range header positions play time to the beginning and plays till the end of the range. * PAUSE: This method informs the server to pause sending of the media stream. Once the PAUSE request is sent, the range header will capture the position at which the media stream is paused. When a PLAY request is sent again, the client will resume playing from the current position of the media stream as specified in the range header. RSTP Status Codes Whenever the client sends a request message to the server, the server forms a equivalent response message to be sent to the client. The response codes are similar to HTTP as they are both in ASCII text. They are as follows: 200: OK 301: Redirection 405: Method Not Allowed 451: Parameter Not Understood 454: Session Not Found 457: Invalid Range 461: Unsupported Transport 462: Destination Unreachable These are some of the RTSP status codes. There are many others but the codes mentioned above are of importance in the context of this project. 2.3.2. Real-time Transport Protocol (RTP) RTP is a defined packet structure which is used for transporting media stream over the network. It is a transport layer protocol but developers view it as a application layer protocol stack. This protocol facilitates jitter compensation and detection of incorrect sequence arrival of data which is common for transmission over IP network. For the transmission of media data over the network, it is important that packets arrive in a timely manner as it is loss tolerant but not delay tolerant. Due to the high latency of Transmission Control Protocol in establishing connections, RTP is often built on top of the User Datagram Protocol (UDP). RTP also supports multicast transmission of data. RTP is also a stateful protocol as a session is established before data can be packed into the RTP packet and sent over the network. The session contains the IP address of the destination and port number of the RTP which is usually an even number. The following section will explain about the packet structure of RTP which is used for transmission. RTP Packet Structure The below shows a RTP packet header which is appended in front of the media data.s The minimum size of the RTP header is 12 bytes.. Optional extension information may be present after the header information. The fields of the header are:  · V: (2 bits) to indicate the version number of the protocol. Version used in this project is 2.  · P (Padding): (1 bit) to indicate if there padding which can be used for encryption algorithm  · X (Extension): (1 bit) to indicate if there is extension information between header and payload data.  · CC (CSRC Count) : (4 bits) indicates the number of CSRC identifiers  · M (Marker): (1 bit) used by application to indicate data has specific relevance in the perspective of the application. The setting for M bit marks the end of video data in this project  · PT (Payload Type): (7 bits) to indicate the type of payload data carried by the packet. H.264 is used for this project  · Sequence number: (16 bits) incremented by one for every RTP packet. It is used to detect packet loss and out of sequence packet arrival. Based on this information, application can take appropriate action to correct them.  · Time Stamp: (32 bits) receivers use this information to play samples at correct intervals of time. Each stream has independent time stamps.  · SSRC: (32 bits) it unique identifies source of the stream.  · CSRC: sources of a stream from different sources are enumerated according to its source IDs. This project does not involve the use of Extension field in the packet header and hence will not be explained in this report. Once this header information is appended to the payload data, the packet is sent over the network to the client to be played. The table below summarizes the payload types of RTP and highlighted region is of interest in this project. Table 2: Payload Types of RTP Packets 2.3.3. RTP Control Protocol (RTCP) RTCP is a sister protocol which is used in conjunction with the RTP. It provides out-of-band statistical and control information to the RTP session. This provides certain Quality of Service (QoS) for transmission of video data over the network. The primary functions of the RTCP are: * To gather statistical information about the quality aspect of the media stream during a RTP session. This data is sent to the session media source and its participants. The source can exploit this information for adaptive media encoding and detect transmission errors. * It provides canonical end point identifiers (CNAME) to all its session participants. It allows unique identification of end points across different application instances and serves as a third party monitoring tool. * It also sends RTCP reports to all its session participants. By doing so, the traffic bandwidth increases proportionally. In order to avoid congestion, RTCP has bandwidth management techniques to only use 5% of the total session bandwidth. RTCP statistical data is sent odd numbered ports. For instance, if RTP port number is 196, then RTCP will use the 197 as its port number. There is no default port number assigned to RTCP. RTCP Message Types RTCP sends several types of packets different from RTP packets. They are sender report, receiver report, source description and bye.  · Sender Report (SR): Sent periodically by senders to report the transmission and reception statistics of RTP packets sent in a period of time. It also includes the senders SSRC and senders packet count information. The timestamp of the RTP packet is also sent to allow the receiver to synchronize the RTP packets. The bandwidth required for SR is 25% of RTCP bandwidth.  · Receiver Report (RR): It reports the QoS to other receivers and senders. Information like highest sequence number received, inter arrival jitter of RTP packets and fraction of packets loss further explains the QoS of the transmitted media streams. The bandwidth required for RR is 75% of the RTCP bandwidth.  · Source Description (SDES): Sends the CNAME to its session participants. Additional information like name, address of the owner of the source can also be sent.  · End of Participation (BYE): The source sends a BYE message to indicate that it is shutting down the stream. It serves as an announcement that a particular end point is leaving the conference. Further RTCP Consideration This protocol is important to ensure that QoS standards are achieved. The acceptable frequencies of these reports are less than one minute. In major application, the frequency may increase as RTCP bandwidth control mechanism. Then, the statistical reporting on the quality of the media stream becomes inaccurate. Since there are no long delays introduced between the reports in this project, the RTCP is adopted to incorporate a certain level of QoS on streaming H.264/AVC video over embedded platform. 2.3.4. Session Description Protocol (SDP) The Session Description Protocol is a standard to describe streaming media initialization parameters. These initializations describe the sessions for session announcement, session invitation and parameter negotiation. This protocol can be used together with RTSP. In the previous sections of this chapter, SDP is used in the DESCRIBE state of RTSP to get sessions media initialization parameters. SDP is scalable to include different media types and formats. SDP Syntax The session is described by attribute/value pairs. The syntax of SDP are summarized in the below. In this project, the use of SDP is important in streaming as the client is VLC Media Player. If the streaming is done via RTSP, then VLC expects a sdp description from the server in order to setup the session and facilitate the playback of the streaming media. Chapter 3: Hardware Literature Review 3.1. Introduction to Texas Instrument DM6446EVM DavinciTM The development of this project based on the DM6446EVM board. It is necessary to understand the hardware and software aspects of this board. The DM6446 board has a ARM processor operating at a clock speed up to 300MHz and a C64x Digital Signal Processor operating at a clock speed of up to 600MHz. 3.1.1. Key Features of DM6446 The key features that are shown in the above are: * 1 video port which supports composite of S video * 4 video DAC outputs: component, RGB, composite * 256 MB of DDR2 DRAM * UART, Media Card interface (SD, xD, SM, MS ,MMC Cards) * 16 MB of non-volatile Flash Memory, 64 MB NAND Flash, 4 MB SRAM * USB2 interface * 10/100 MBS Ethernet interface * Configurable boot load options * IR Remote Interface, real time clock via MSP430 3.1.2. DM6446EVM Architecture The architecture of the DM6446 board is organized into several subsystems. By knowing the architecture of the DM6446, the developer can then design and built his application module on the boards underlining architecture. The shows that DM6446 has three subsystems which are connected to the underlying hardware peripherals. This provides a decoupled architecture which allows the developers to implement his applications on a particular subsystem without having to modify the other subsystems. Some of subsystems are discussed in the next sections. ARM Subsystem The ARM subsystem is responsible for the master control of the DM6446 board. It handles the system-level initializations, configurations, user interface, connectivity functions and control of DSP subsystems. The ARM has a larger program memory space and better context switching capabilities and hence it is more suited to handle complex and multi tasks of the system. DSP Subsystem The DSP subsystem is mainly the encoding the raw captured video frames into the desired format. It performs several number crunching operations in order to achieve the desired compression technique. It works together with the Video Imaging Coprocessor to compress the video frames. Video Imaging Coprocessor (VICP) The VICP is a signal processing library which contains various software algorithms that execute on VICP hardware accelerator. It helps the DSP by taking over computation of varied intensive tasks. Since hardware implementation of number cru